Saltar al contenido principal

Behaviours

Puedes agregar componentes con contexto THREE.js para crear código personalizado que altere los comportamientos de tus objetos, haciendo tu escena más dinámica. Además, hay una terminal disponible para redirigir y mostrar todas las salidas de los scripts.

Ofrecemos un script simple diseñado para gestionar el ciclo de vida de un objeto en una escena. Incluye tres funciones principales del ciclo de vida que ayudan a gestionar el comportamiento del objeto desde su creación hasta su destrucción.

  /*
* Una directiva que permite la conexión a los hooks del ciclo de vida.
*/
#pragma lifecycle(startup,update,dispose)
/*
* Se dispara solo una vez cuando el objeto se instancia en la escena, permitiendo la configuración inicial.
*/
function startup() {
}
/*
* Se dispara en cada frame, permitiendo actualizaciones continuas y comportamiento dinámico.
*/
function update(delta,time) {
}
/*
* Se dispara en la destrucción del objeto, permitiendo la liberación de recursos y la finalización adecuada.
*/
function dispose() {
}

La Directiva

La línea #pragma lifecycle(startup,update,dispose) en la parte superior es una directiva que conecta estas funciones a los hooks del ciclo de vida del objeto. Esto significa que le dice al sistema que llame a las funciones startup(), update(), y dispose() en los momentos apropiados del ciclo de vida del objeto.

Definiciones de las Funciones

  1. startup()

    • Qué hace: Esta función se llama solo una vez cuando el objeto se crea o se añade a la escena.

    • Propósito: Se usa para la configuración inicial. Piénsalo como preparar el objeto, establecer valores iniciales, cargar recursos o establecer condiciones iniciales.

    • Ejemplo: Establecer la posición inicial de un objeto, cargar texturas o inicializar variables.

  2. update(delta, time)

    • Qué hace: Esta función se llama en cada frame, lo que significa que se ejecuta repetidamente mientras el objeto exista en la escena.

    • Propósito: Permite actualizaciones continuas y comportamiento dinámico. Aquí es donde puedes hacer que el objeto se mueva, verificar la entrada del usuario o actualizar animaciones.

    • Parámetros:

      • delta: El tiempo transcurrido desde el último frame. Ayuda a crear movimientos o actualizaciones fluidas y consistentes.

      • time: El tiempo total transcurrido desde que la aplicación comenzó. Puede usarse para eventos basados en el tiempo.

    • Ejemplo: Mover un objeto basado en la entrada del usuario, actualizar la posición de una pelota que rebota o reproducir animaciones.

  3. dispose()

    • Qué hace: Esta función se llama cuando el objeto se destruye o se elimina de la escena.

    • Propósito: Se usa para la limpieza y liberación de recursos. Esto asegura que la memoria se libere y que cualquier recurso utilizado por el objeto se disponga adecuadamente.

    • Ejemplo: Detener sonidos, liberar memoria usada por texturas o eliminar listeners de eventos.

Al usar estas funciones, puedes gestionar cómo se comporta un objeto desde el momento en que se crea, a través de sus actualizaciones, hasta que ya no se necesita y se limpia.

Vista Previa

Tienes la opción de ejecutar una vista previa de los scripts antes de ver los resultados en el metaverso. Esto asegura que no haya errores y que el código se ejecute como se espera.

Simplemente haz click en el icono de ‘Play’ en la barra de herramientas para ejecutar el script en el visor. Podrás ver cualquier comportamiento dinámico añadido a la escena y manejar cualquier error o advertencia.

Advertencia

Estos comportamientos dinámicos solo funcionan con las funciones startup(), update(delta, time), y dispose() dadas. Cualquier nueva función o código fuera de las especificadas no será automáticamente reconocido o ejecutado por el sistema de gestión del ciclo de vida.